查看原文
其他

海量日志分析的集中式解决方案

Coda6 大数据开放实验室 2020-11-07

大规模集群日志分析现状

日志分析是了解系统硬件信息、负荷情况、安全状态,实现问题排查、解决问题的重要的途径。开发人员和运维人员实现日志分析通常采用的方式是,登录到目标节点,查看特定时间区间的特定日志。但是,如果运维对象是一个由数十、上百甚至成千台机器构成的集群,机器日志分布在各个节点,如此操作方式将十分繁琐低效。因此在具有一定规模的企业内部实现集中化日志管理平台,提供系统综合性的集群日志管理功能,对于效率的提升,工作繁琐度的降低而言是十分必要且重要的。

问题解决

针对上述需求,星环研发出海量日志分析平台Milano,提供集中式的集群日志分析服务,既可以用于物理集群日志分析,也可以部署到云上对各租户内的日志进行处理。Milano采用Filebeat+Kafka+Logtash+Elasticsearch+Kibana的架构,为用户提供便利的日志查询和分析接口实现日志检索和统计分析,以及基于日志的预警功能,克服了执行Linux命令的传统方式在大规模集群中做高级统计分析的障碍,实现可视化的监测平台,为海量日志分析带来极大的便利。

Milano结构和功能介绍

Milano是一种分布式日志收集和分析系统,它基于ELK 开发,提供了一种集中式的日志收集和分析解决方案,在一个统一界面实现对系统日志检索和分析,帮助运维和开发人员对系统进行监控和错误诊断。

Milano主要提供了以下功能,这些功能通过Milano架构中各个组件之间的协调配合实现:

  1. 分布式日志收集。

  2. 日志的分发。

  3. 日志信息抽取与处理。

  4. 日志查询检索。

  5. 日志报表。

日志收集

Milano 采用日志采集工具Filebeat 作为代理运行在服务组件所在的机器,对日志进行收集,并根据不同的租户目录分发到不同的Kafka Topic。 由于Filebeat专注于“日志收集”一件事情,所以简单高效,同Logstash相比,Filebeat具有轻量、安全的特点,它只占用宿主机很少的资源,而且可以保证很好的性能以及较高的吞吐。

日志分发

采集端收集到日志后,需要通过消息队列做缓存和分发。Milano 采用Kafka 作为缓存和分发站,能够起到削峰的作用。虽然整个平台共享Kafka集群,但是Milano会为每个租户分配一个专用Topic,以保证信息隔离性。同时考虑到安全隐私问题,Milano还会对Topic的读写进行认证和授权。

日志处理

由于不同来源的日志有各自的格式,且内容比较杂乱,不方便理解分析,因此在日志入库前,Milano会采用Logstash逐条处理日志,依靠Logstash的日志过滤分析功能,对日志进行统一预处理,从每条日志中提取有效信息。

日志检索

Milano采用基于Elasticsearch改进后的Search作为检索引擎。Search是可扩展的分布式全文搜索和分析引擎,它利用层次化存储、堆外内存管理等创新性技术,极大的提高了系统的可用性和健壮性,可以有效避免GC问题对系统的影响。

日志展现

Milano采用Kibana作为用户的日志运维界面。Kibana提供友好的可视化分析平台,实现易用的接口和方式进行日志检索与查询。用户可以在Kibana的界面上建立报表,将日志数据处理成不同的表格和图表等信息从而展示高级的内容,对日志进行可视化的日常分析。

Milano功能优势

高级的日志管理

用户可以通过Kibana查看集群内所有组件服务的日志,进行文本信息检索,实现直观易用的可视化分析。同时Milano提供通用的日志分析功能,支持用户通过特定检索语言迅速锁定关键信息。

全链路高吞吐

Milano的构成组件之中的Kafka和Elasticsearch本身具备高吞吐可扩展特性,可以根据压力灵活扩展。Milano单节点的每秒日志收集量可达15000条,3节点的Milano监控集群日志量每日收集可以达到10亿条。同时,Milano保障低延迟的入库,从日志产生到入库10秒内就可以完成。

全链路安全管控

Milano在日志收集、传输、分析等各个环节上实现安全管控。数据的通信过程经过Kerberos加密,保证安全。另外每个租户的数据只允许进入授权的Kafka Topic或Elasticsearch Index,使各个租户日志之间相互隔离,保证数据隐私。此外,对于可视化的监控界面Kibana,每个用户都可以对自己的Kibana实例进行独立的控制,通过LDAP实现安全认证与访问。

全链路高可用

Milano的高可用性通过以下两方面保证。首先,Kafka、Elasticsearch、Filebeat等服务自身都提供状态监控;其次,各模块支持多活,保证一定的副本数量,发生错误时及时恢复,可保证数据高可用,以及数据不丢不重。

结语与展望

Milano解决了企业对于大规模集群的日志分析与检索的需求,具有高吞吐和低延迟的特性,架构水平可扩展,同时提供可靠的安全保护,谨防日志泄漏。目前我们还在将人工智能技术引入Milano,利用机器学习和算法,提供基于日志的高级的文本处理和异常检测,实现智能化自动化的学习,提供更加易用的分析体验。



往期原创文章

HBase常见运维工具整理

春季跳槽指南--优雅的跳进大数据和云计算圈

行业观察: 云+大数据+AI推动企业数据业务演进

Guardian实现集群互信与安全审计

数据挖掘平台Discover解锁Tensorflow

玩转大数据开发套件--下篇

玩转大数据开发工具--上篇

2017年大数据热点总结与发展趋势预测

Slipstream 5.1 -- 实时计算引擎多方面升级

Inceptor5.1- 批处理分析数据库的进阶




大数据开放实验室由星环信息科技(上海)有限公司运营,专门致力于大数据技术的研究和传播。若转载请在文章开头明显注明“文章来源于微信订阅号——大数据开放实验室”,并保留作者和账号介绍。



    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存